package com_4;

import java.util.function.Consumer;

public class Consumer1 {//定义一个consumer消费者接口
    public static void main(String[] args) {//main方法入口
  getString("你好", new Consumer<String>() {
      @Override
      public void accept(String s) {
          System.out.println(s);
      }
  });
        getString("陕西西安",s-> System.out.println(s));
        //调用方法1并在lambda中消费参数并且给出实现方法
        getString("陕西西安",s-> System.out.println(s),
                //调用反方法2并且在接口1和接口2 中分别消费两次
                s-> System.out.println(new StringBuilder(s).reverse().toString()));
        //对元素进行拼接并转化为字符类型
    }

    public static void getString(String name, Consumer<String> con1, Consumer<String> con2) {
//定义一个方法，第一个参数为字符串，第二个参数为接口1 ，第二个参数为接口er
        con1.andThen(con2).accept(name);//使用andthen方法进行连式编程
    }
    public static void getString(String name, Consumer<String> con) {
        //定义一个方法第一个参数为需要消费的字符，第二参数为消费者接口对象
       con.accept(name);//使用accept方法进行消费对象
    }
}
